/**
 * 这段配置的主要作用是在构建时将 NODE_HOST环境变量添加到 process.env 中，
 * 用于在应用中进行环境特定的配置或访问。
 */
// 引入 Vue CLI 服务提供的 defineConfig 方法，用于定义和导出 Vue 配置
const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({
    // 该选项用于指定是否需要对依赖包进行 Babel 转译
    // 设置为 true 将会转译所有依赖包中的代码，通常用于处理不兼容目标环境的依赖
    transpileDependencies: true,
    devServer: {
        port: 9088, // 设置前端开发服务器的端口号
    },
    // 使用 chainWebpack API 对 Webpack 配置进行细粒度调整
    chainWebpack: config => {
        // 获取 Webpack 配置中的 DefinePlugin 插件
        config.plugin('define').tap(definitions => {
            // 修改 DefinePlugin 插件中的定义，定义全局常量
            // `definitions` 是 DefinePlugin 插件配置的数组
            // `definitions[0]` 是实际的配置对象
            // `process.env` 用于定义环境变量，通常用于替换全局常量
            Object.assign(definitions[0]['process.env'], {
                // 添加或修改 `process.env` 对象中的 NODE_HOST 变量
                // NODE_HOST 被设置为 "http://localhost:8888"
                NODE_HOST: '"http://localhost:8888"',
            });
            // 返回修改后的定义配置
            return definitions;
        });
    }
})
